package com.ycsj.goldmedalnewconcept.student.activity;

import android.text.TextUtils;
import android.view.View;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;

import com.blankj.utilcode.util.ToastUtils;
import com.ycsj.common.base.BaseActivity;
import com.ycsj.common.base.BusInfo;
import com.ycsj.common.base.SpKeys;
import com.ycsj.common.utils.SPUtil;
import com.ycsj.common.utils.UiUtils;
import com.ycsj.goldmedalnewconcept.R;
import com.ycsj.goldmedalnewconcept.common.Constants;

import butterknife.BindView;
import butterknife.OnClick;

/**
 * 学生端--宠物领取第二页--选择宠物
 * Created by Kevin on 2019/2/27
 */

public class StudentChoosePetActivity extends BaseActivity {

    //确定按钮
    @BindView(R.id.iv_sure)
    ImageView iv_sure;

    //老虎
    @BindView(R.id.iv_tiger)
    ImageView iv_tiger;
    //大象
    @BindView(R.id.iv_elephant)
    ImageView iv_elephant;
    //狗
    @BindView(R.id.iv_dog)
    ImageView iv_dog;
    //怪物
    @BindView(R.id.iv_monster)
    ImageView iv_monster;

    TranslateAnimation translateAnimation1;
    TranslateAnimation translateAnimation2;
    TranslateAnimation translateAnimation3;
    TranslateAnimation translateAnimation4;

    //宠物类型
    private String petType;

    @Override
    protected int getContentLayout() {
        return R.layout.activity_student_choosepet;
    }

    @Override
    protected void init() {

        initStateBar();

        SPUtil.put(this, SpKeys.PETTYPE, "");

        //初始化动画
        initAnimation();

    }

    /**
     * 初始化动画
     */
    private void initAnimation() {

        translateAnimation1 = new TranslateAnimation(0,
                200, 0, 200);

        //设置动画持续时长
        translateAnimation1.setDuration(1000);
        //设置动画结束之后的状态是否是动画的最终状态，true，表示是保持动画结束时的最终状态
        translateAnimation1.setFillAfter(true);
        //设置动画结束之后的状态是否是动画开始时的状态，true，表示是保持动画开始时的状态
        translateAnimation1.setFillBefore(false);

        translateAnimation2 = new TranslateAnimation(0,
                -200, 0, 200);

        //设置动画持续时长
        translateAnimation2.setDuration(1000);
        //设置动画结束之后的状态是否是动画的最终状态，true，表示是保持动画结束时的最终状态
        translateAnimation2.setFillAfter(true);
        //设置动画结束之后的状态是否是动画开始时的状态，true，表示是保持动画开始时的状态
        translateAnimation2.setFillBefore(false);

        translateAnimation3 = new TranslateAnimation(0,
                150, 0, -200);

        //设置动画持续时长
        translateAnimation3.setDuration(1000);
        //设置动画结束之后的状态是否是动画的最终状态，true，表示是保持动画结束时的最终状态
        translateAnimation3.setFillAfter(true);
        //设置动画结束之后的状态是否是动画开始时的状态，true，表示是保持动画开始时的状态
        translateAnimation3.setFillBefore(false);

        translateAnimation4 = new TranslateAnimation(0,
                -150, 0, -200);

        //设置动画持续时长
        translateAnimation4.setDuration(1000);
        //设置动画结束之后的状态是否是动画的最终状态，true，表示是保持动画结束时的最终状态
        translateAnimation4.setFillAfter(true);
        //设置动画结束之后的状态是否是动画开始时的状态，true，表示是保持动画开始时的状态
        translateAnimation4.setFillBefore(false);
    }

    /**
     * 页面控件的点击事件
     *
     * @param v
     */
    @OnClick({R.id.iv_sure, R.id.iv_tiger, R.id.iv_elephant, R.id.iv_dog, R.id.iv_monster,})
    public void onViewClick(View v) {
        switch (v.getId()) {
            case R.id.iv_sure:
                //确定按钮
                petType = SPUtil.getString(this, SpKeys.PETTYPE);

                if (!TextUtils.isEmpty(petType)) {

                    //跳转下一页
                    UiUtils.startActivity(this, StudentGetpetThreeActivity.class);

                } else {
                    ToastUtils.showShort("请选择喜欢的宠物");
                }
                break;
            case R.id.iv_tiger:

                //选择老虎
                clearAni();

                SPUtil.put(this, SpKeys.PETTYPE, "1");

                //开始动画
                iv_tiger.startAnimation(translateAnimation1);

                break;
            case R.id.iv_elephant:
                //选择大象
                clearAni();

                SPUtil.put(this, SpKeys.PETTYPE, "2");
                //开始动画
                iv_elephant.startAnimation(translateAnimation2);

                break;
            case R.id.iv_dog:
                //选择狗
                clearAni();

                SPUtil.put(this, SpKeys.PETTYPE, "3");

                //开始动画
                iv_dog.startAnimation(translateAnimation3);

                break;
            case R.id.iv_monster:

                //选择怪物
                clearAni();

                SPUtil.put(this, SpKeys.PETTYPE, "4");

                //开始动画
                iv_monster.startAnimation(translateAnimation4);

                break;

        }
    }


    /**
     * 清除动画
     */
    private void clearAni() {
        iv_tiger.clearAnimation();
        iv_elephant.clearAnimation();
        iv_dog.clearAnimation();
        iv_monster.clearAnimation();

        //改变按钮状态
        iv_sure.setImageResource(R.drawable.student_choosepet_click);
    }

    /**
     * 事件处理
     *
     * @param busInfo
     */
    @Override
    public void busEvent(BusInfo busInfo) {
        super.busEvent(busInfo);
        if (busInfo != null && Constants.CLOSEPETPAGE == busInfo.type) {
            finish();
        }
    }
}
